package Data::Conveyor::Exception::Internal::NoSuchTemplateHandler;

# $Id: NoSuchTemplateHandler.pm 13653 2007-10-22 09:11:20Z gr $

use warnings;
use strict;


our $VERSION = '0.02';


use base 'Error::Hierarchy::Internal';


__PACKAGE__->mk_scalar_accessors(qw(handler_type ticket_type));


use constant default_message =>
    'No class for template handler type [%s], ticket type [%s]';

use constant PROPERTIES => ( qw/handler_type ticket_type/ );


sub init {
    my $self = shift;

    # because we call SUPER::init(), which uses caller() to set
    # package, filename and line of the exception, *plus* we don't want
    # to report the abstract method that threw this exception itself,
    # rather we want to report its caller, i.e. the one that called the
    # abstract method. So we use +2.

    local $Error::Depth = $Error::Depth + 2;
    $self->SUPER::init(@_);
}


1;


__END__

{% USE p = PodGenerated %}

=head1 NAME

{% p.package %} - stage-based conveyor-belt-like ticket handling system

=head1 SYNOPSIS

    {% p.package %}->new;

=head1 DESCRIPTION

None yet. This is an early release; fully functional, but undocumented. The
next release will have more documentation.

=head1 METHODS

=over 4

{% p.write_methods %}

=back

{% p.write_inheritance %}

{% PROCESS standard_pod %}

=cut

